নীওফোরজে (Neo4J) গ্রাফ ডেটাবেস হিসেবে নোড (Node) এবং এজ (Edge) ব্যবহার করে ডেটা সংরক্ষণ ও সম্পর্কিত তথ্য বিশ্লেষণ করে। রিলেশনশিপ (Relationships) নোডগুলোর মধ্যে সম্পর্ক তৈরি করে, যা গ্রাফ ডেটাবেসের মূল বৈশিষ্ট্য। নীওফোরজে এজ ব্যবহার করে রিলেশনশিপ তৈরি এবং পরিচালনা করা হয়। এই রিলেশনশিপগুলি গ্রাফের মাধ্যমে সহজে মডেল এবং বিশ্লেষণ করা যায়।
নীওফোরজে-তে রিলেশনশিপ তৈরি
রিলেশনশিপ তৈরি করার সিনট্যাক্স
নীওফোরজে-তে সাইফার (Cypher) কুয়েরি ভাষা ব্যবহার করে রিলেশনশিপ তৈরি করা হয়। নিচে সাইফার কুয়েরির উদাহরণ দেওয়া হলো যা দুটি নোডের মধ্যে রিলেশনশিপ তৈরি করবে:
CREATE (a:Person {name: 'John'})
CREATE (b:Person {name: 'Jane'})
CREATE (a)-[:KNOWS]->(b)
এখানে, Person লেবেল (Label) ব্যবহার করা হয়েছে এবং KNOWS রিলেশনশিপ তৈরি করা হয়েছে যেখানে a এবং b দুটি নোডের মধ্যে সম্পর্ক স্থাপন করা হয়েছে।
রিলেশনশিপের প্রোপার্টি (Property)
নীওফোরজে-তে রিলেশনশিপের প্রোপার্টি (Property) যোগ করা সম্ভব। এটি রিলেশনশিপের মধ্যে অতিরিক্ত তথ্য সংরক্ষণ করে, যেমন রিলেশনশিপের তারিখ বা কোনো নির্দিষ্ট ভ্যালু।
CREATE (a)-[:KNOWS {since: 2020}]->(b)
এখানে, KNOWS রিলেশনশিপের মধ্যে since প্রোপার্টি যোগ করা হয়েছে, যা সম্পর্কের শুরুর সময় নির্দেশ করে।
রিলেশনশিপ পরিচালনা
রিলেশনশিপ অনুসন্ধান (Finding Relationships)
নীওফোরজে-তে রিলেশনশিপ অনুসন্ধান করতে সাইফার কুয়েরি ভাষা ব্যবহার করা হয়। উদাহরণস্বরূপ, যদি আপনি জানতে চান যে John কারা জানেন, তাহলে নিচের কুয়েরি ব্যবহার করতে পারেন:
MATCH (a:Person {name: 'John'})-[:KNOWS]->(b:Person)
RETURN b.name
এই কুয়েরি John এর সাথে সম্পর্কিত Person নোডগুলোকে ফিরিয়ে দিবে।
রিলেশনশিপ মুছে ফেলা (Deleting Relationships)
নীওফোরজে-তে রিলেশনশিপ মুছে ফেলা খুবই সহজ। আপনি নিম্নলিখিত কুয়েরি ব্যবহার করে রিলেশনশিপ মুছে ফেলতে পারেন:
MATCH (a)-[r:KNOWS]->(b)
DELETE r
এখানে, KNOWS রিলেশনশিপটি মুছে ফেলা হচ্ছে।
রিলেশনশিপের অন্যান্য কার্যকলাপ
একাধিক রিলেশনশিপ তৈরি
একই নোডের মধ্যে একাধিক রিলেশনশিপ তৈরি করা সম্ভব। উদাহরণস্বরূপ, John যদি Jane কে দুটি ভিন্ন রিলেশনশিপের মাধ্যমে জানেন, তাহলে তা নিম্নরূপ হতে পারে:
CREATE (a:Person {name: 'John'})
CREATE (b:Person {name: 'Jane'})
CREATE (a)-[:KNOWS]->(b)
CREATE (a)-[:LIKES]->(b)
এখানে John এবং Jane এর মধ্যে দুটি ভিন্ন রিলেশনশিপ KNOWS এবং LIKES তৈরি করা হয়েছে।
সারাংশ
নীওফোরজে (Neo4J) গ্রাফ ডেটাবেসে রিলেশনশিপগুলি গুরুত্বপূর্ণ ভূমিকা পালন করে। সাইফার (Cypher) কুয়েরি ভাষার মাধ্যমে রিলেশনশিপ তৈরি, পরিচালনা এবং অনুসন্ধান করা সম্ভব। রিলেশনশিপের মধ্যে প্রোপার্টি যোগ করা এবং একাধিক রিলেশনশিপ তৈরি করা যায়, যা ডেটা মডেলিং এবং বিশ্লেষণে সহায়ক।
Read more